package socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;

public class Server {//聊天室的服务端

    private ServerSocket serverSocket;
    //ServerShocket的任务就是分配服务器端口
    public Server() {//创建一个端口
        try {//
            System.out.println("正在启动服务器...");
            serverSocket =new ServerSocket(8088);
            System.out.println("服务器启动完毕");
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public void start()  {//创建一个接收器
        try {
            while(true){
                System.out.println("等待客户端连接...");
                Socket socket =serverSocket.accept();
                System.out.println("一个客户端连接了...");

                InputStream in =socket.getInputStream();
                InputStreamReader isr = new InputStreamReader(in, StandardCharsets.UTF_8);
                BufferedReader br =new BufferedReader(isr);

                String message;
                while((message=br.readLine())!=null){
                    System.out.println("客户端说:"+message);
                }
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        Server server = new Server();//用于接收客户端的链接,并返回一个socket实例与客户端交互
        server.start();
    }
}
